/**
 * @Copyright:Copyright (c) 2007 - 2023
 * 
 */
package com.tengtong.commons.collections;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;

/**
 * 列表的工具类
 *
 * @author lin_jinming
 * @since: v1.0
 */
public class ListUtils {
    
    /**
     * 创建一个 new ArrayList() 对象
     *
     * @param <T>
     * @return
     */
    public final static <T> List<T> newList(){
        return new ArrayList<>();
    }

    /**
     * 创建一个链表
     *
     * @param <T>
     * @return
     */
    public final static <T> LinkedList<T> newLinkedList(){
        return new LinkedList<>();
    }
    
    /**
     * 判断一个列表是否为空（或null）
     *
     * @param <T>
     * @param list
     * @return
     */
    public final static <T> boolean isEmpty(List<T> list) {
        return list == null || list.isEmpty();
    }
    
    /**
     * 非空判断
     *
     * @param <T>
     * @param list
     * @return
     */
    public final static <T> boolean notEmpty(List<T> list) {
        return !isEmpty(list);
    }
    
    /**
     * 转成列表
     *
     * @param <T>
     * @param ts
     * @return
     */
    @SafeVarargs
    public final static <T> List<T> of(T...ts){
        return Arrays.asList(ts);
    }
    
}
